1
プログラム的フローとデータマッピングの基盤
AI015Lesson 6
00:00

1. ネームスペース管理

プログラム環境を制御するには、モジュールの読み込み方法から始めます。 using Dates はすべての関数を現在のスコープにエクスポートしますが、一方で import Dates は明示的なプレフィックス(例: Dates.now())が必要です。これは大規模なデータマッピングにおける名前衝突を回避するために不可欠です。

2. 複数ディスパッチによる論理フロー

Juliaでは、フローコントロールとは if 文だけではなく、型システムに組み込まれています。関数の特殊化されたバージョンを定義することで(例: foo(::Integer, ::Integer) 対して foo(::Number, ::Number))、コンパイラは実行を最も具体的な一致に自動的にルーティングします。これにより、データ型に基づいた非常に効率的な暗黙的な意思決定ツリーが構築されます。

foo(50, 100) → 「AとBは両方とも整数です」
foo(4.5, 20) → 「AとBは両方とも数値です」

3. 階層的なデータマッピング(日付)

複雑なデータ構造、たとえば時刻型は正式な階層構造に整理されています。これにより、異なる精度レベル間での演算が可能になり、たとえば DateTimeDateの間の期間を計算するといったことが可能になります。

AbstractTimeTimeTypePeriodInstantDateTimeMillisecond
main.py
TERMINALbash — 80x24
> Ready. Click "Run" to execute.
>